package com.czmh.etc.onlinepubsys.request.cmg;

import com.alibaba.fastjson.annotation.JSONField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * Copyright (C), 2017-2021
 *
 * @Author Chenzj
 * Date: 2021/3/18 17:10
 * FileName: AddOrUpdateBankSignRequest
 * Description:
 */
@ApiModel("招商局-录入线下银行签约信息-对接请求对象")
@Data
public class AddOrUpdateBankSignRequest {
    private static final long serialVersionUID = 1L;

    @ApiModelProperty("用户ID")
    @JSONField(serialize = false)
    private String userId; //用户ID

    @ApiModelProperty("订单id")
    @JSONField(serialize = false)
    private String orderId; //订单id

    @ApiModelProperty(notes = "银行卡类型 0-借记卡 1-信用卡", required = true)
    private Integer bankCardType;

    @ApiModelProperty(notes = "银行编码 ICBC 中国工商银行,ABC 中国农业银行,CCB 中国建设银行,BOC 中国银行,CMBC 中国民生银行,CMB 招商银行,CIB 兴业银行,BCM 交通银行,CEB 光大银行,GDB 广东发展银行,CITICIB 中信银行,PSBC 邮储银行,PABC 平安银行,HB 华夏银行,支持自定义", required = true)
    private String bankCode;

    @ApiModelProperty(notes = "客户端唯一码，accessNo+随机编码", hidden = true)
    private String clientKey;

    @ApiModelProperty(notes = "证件号码", required = true)
    private String idNum;

    @ApiModelProperty(notes = "证件类型：0-身份证； 1-军官证；2-护照；3-港澳通行证；4-台湾通行证 5-营业执照；6-组织机构代码证；7-社会团体法人 8-社会信用代码 9-事业单位法人 10-律师事务所许可证", required = true)
    private Integer idType;

    @ApiModelProperty(notes = "签约唯一id", required = true)
    private String signChannelId;

    @ApiModelProperty(notes = "支付机构编码 202 货车之家 203 好运达 204微信 910 招商交建 911米米科技", required = true)
    private String signCode;

    @ApiModelProperty(notes = "签约类型 1-线下", required = true)
    private Integer signType;

    @ApiModelProperty(notes = "时间戳", hidden = true)
    private Long time;

    @ApiModelProperty(notes = "车牌号码", required = true)
    private String vehiclePlate;

    @ApiModelProperty(notes = "车牌颜色0蓝色、1黄色、2黑色、3白色4、渐变绿色5、黄绿双拼色 6、蓝白渐变色", required = true)
    private Integer vehiclePlateColor;

    @ApiModelProperty(notes = "银行账户名称,非必填")
    private String accountName;

    @ApiModelProperty(notes = "银行卡号,非必填")
    private String bankCardNo;
}
